<TagAttribute("shader_environment","senv","shdr","????",2,836)>
Public Class SHADER_ENVIRONMENT_TAG
Inherits HaloTag
Public Const Extension as String = "shader_environment"
Public Const FourCC as String = "senv"
Public Const ParentFourCC as String = "shdr"
Public Const GrandParentFourCC as String = "????"
Public Const [Version] as Short = 2
Public Const HeaderLength as Integer = 836

''' <summary>
''' 
''' </summary>
#Region "radiosity properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags as Short

''' <summary>
''' affects the density of tesselation (high means slow).
''' </summary>
<TagField("detail level", 1, 17)>
Public detail_level as Short

''' <summary>
''' power of emitted light from 0 to infinity
''' </summary>
<TagField("power", 1, 0)>
Public power as Single

''' <summary>
''' 
''' </summary>
<TagField("color of emitted light", 3, 2)>
Public color_of_emitted_light as Single()

''' <summary>
''' light passing through this surface (if it's transparent) will be tinted this color.
''' </summary>
<TagField("tint color", 3, 2)>
Public tint_color as Single()

''' <summary>
''' 
''' </summary>
#End Region
#Region "physics properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_1 as Short

''' <summary>
''' 
''' </summary>
<TagField("material type", 1, 17)>
Public material_type as Short

''' <summary>
''' 
''' </summary>
<TagField("shader type index", 2, -1)>
Public shader_type_index as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding as Byte()

''' <summary>
''' Setting <true atmospheric fog> enables per-pixel atmospheric fog (for models) but disables point/spot lights, planar fog, and the ability to control the atmospheric fog density for this shader.
''' </summary>
#End Region
#Region "environment shader"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_2 as Short

''' <summary>
''' Controls how diffuse maps are combined:
''' 
''' NORMA
''' </summary>
#End Region
#Region "environment shader type"

''' <summary>
''' 
''' </summary>
<TagField("type", 1, 17)>
Public type as Short

''' <summary>
''' 
''' </summary>
#End Region
#Region "lens flares"

''' <summary>
''' 0 places a single lens flare
''' </summary>
<TagField("lens flare spacing:world units", 1, 0)>
Public lens_flare_spacing as Single

''' <summary>
''' 
''' </summary>
<TagField("lens flare", 16, 10)>
Public lens_flare as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 44, -1)>
Public padding_1 as Byte()

''' <summary>
''' 
''' </summary>
#End Region
#Region "diffuse properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_3 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_2 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_3 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("base map", 16, 10)>
Public base_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_4 as Byte()

''' <summary>
''' affects primary and secondary detail maps
''' </summary>
<TagField("detail map function", 1, 17)>
Public detail_map_function as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_5 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("primary detail map scale", 1, 0)>
Public primary_detail_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("primary detail map", 16, 10)>
Public primary_detail_map as New TAG_REFERENCE

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("secondary detail map scale", 1, 0)>
Public secondary_detail_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("secondary detail map", 16, 10)>
Public secondary_detail_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_6 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("micro detail map function", 1, 17)>
Public micro_detail_map_function as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_7 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("micro detail map scale", 1, 0)>
Public micro_detail_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("micro detail map", 16, 10)>
Public micro_detail_map as New TAG_REFERENCE

''' <summary>
''' modulates incoming diffuse light, including lightmaps, but excluding self-illumination and specular effects
''' </summary>
<TagField("material color", 3, 2)>
Public material_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("", 12, -1)>
Public padding_8 as Byte()

''' <summary>
''' Perforated (alpha-tested) shaders use alpha in bump map.
''' </summary>
#End Region
#Region "bump properties"

''' <summary>
''' 
''' </summary>
<TagField("bump map scale", 1, 0)>
Public bump_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("bump map", 16, 10)>
Public bump_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 8, -1)>
Public padding_9 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_10 as Byte()

''' <summary>
''' Scrolls all 2D maps simultaneously.
''' </summary>
#End Region
#Region "texture scrolling animation"

''' <summary>
''' 
''' </summary>
<TagField("u-animation function", 1, 17)>
Public u as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_11 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("u-animation period:seconds", 1, 0)>
Public u_1 as Single

''' <summary>
''' 
''' </summary>
<TagField("u-animation scale:base map repeats", 1, 0)>
Public u_2 as Single

''' <summary>
''' 
''' </summary>
<TagField("v-animation function", 1, 17)>
Public v as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_12 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("v-animation period:seconds", 1, 0)>
Public v_1 as Single

''' <summary>
''' 
''' </summary>
<TagField("v-animation scale:base map repeats", 1, 0)>
Public v_2 as Single

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_13 as Byte()

''' <summary>
''' There are three s
''' </summary>
#End Region
#Region "self-illumination properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_4 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_14 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_15 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("primary on color", 3, 2)>
Public primary_on_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("primary off color", 3, 2)>
Public primary_off_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("primary animation function", 1, 17)>
Public primary_animation_function as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_16 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("primary animation period:seconds", 1, 0)>
Public primary_animation_period as Single

''' <summary>
''' 
''' </summary>
<TagField("primary animation phase:seconds", 1, 0)>
Public primary_animation_phase as Single

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_17 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("secondary on color", 3, 2)>
Public secondary_on_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("secondary off color", 3, 2)>
Public secondary_off_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("secondary animation function", 1, 17)>
Public secondary_animation_function as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_18 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("secondary animation period:seconds", 1, 0)>
Public secondary_animation_period as Single

''' <summary>
''' 
''' </summary>
<TagField("secondary animation phase:seconds", 1, 0)>
Public secondary_animation_phase as Single

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_19 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("plasma on color", 3, 2)>
Public plasma_on_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("plasma off color", 3, 2)>
Public plasma_off_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("plasma animation function", 1, 17)>
Public plasma_animation_function as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_20 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("plasma animation period:seconds", 1, 0)>
Public plasma_animation_period as Single

''' <summary>
''' 
''' </summary>
<TagField("plasma animation phase:seconds", 1, 0)>
Public plasma_animation_phase as Single

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_21 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("map scale", 1, 0)>
Public map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("map", 16, 10)>
Public map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 24, -1)>
Public padding_22 as Byte()

''' <summary>
''' Controls dynamic specular highlights. The highlight is modulated by <brightness> as well as a blend between <perpendicular color> and <parallel color>.
''' 
''' Set <brightness> to zero to disable.
''' </summary>
#End Region
#Region "specular properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_5 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_23 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_24 as Byte()

''' <summary>
''' 0 is no specular hilights
''' </summary>
<TagField("brightness:[0,1]", 1, 0)>
Public brightness as Single

''' <summary>
''' 
''' </summary>
<TagField("", 20, -1)>
Public padding_25 as Byte()

''' <summary>
''' hilight color when viewed perpendicularly
''' </summary>
<TagField("perpendicular color", 3, 2)>
Public perpendicular_color as Single()

''' <summary>
''' hilight color when viewed at a glancing angle
''' </summary>
<TagField("parallel color", 3, 2)>
Public parallel_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_26 as Byte()

''' <summary>
''' Controls environment cube map reflections. The color of the cube map is "tinted" by a blend between <perpendicular color> and <parallel color> from the SPECULAR PROPERTIES above, and then modulated by a blend between <per
''' </summary>
#End Region
#Region "reflection properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_6 as Short

''' <summary>
''' 
''' </summary>
<TagField("type", 1, 17)>
Public type_1 as Short

''' <summary>
''' reflection brightness when lightmap brightness is 1
''' </summary>
<TagField("lightmap brightness scale:[0,1]", 1, 0)>
Public lightmap_brightness_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("", 28, -1)>
Public padding_27 as Byte()

''' <summary>
''' brightness when viewed perpendicularly
''' </summary>
<TagField("perpendicular brightness:[0,1]", 1, 0)>
Public perpendicular_brightness as Single

''' <summary>
''' brightness when viewed at a glancing angle
''' </summary>
<TagField("parallel brightness:[0,1]", 1, 0)>
Public parallel_brightness as Single

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_28 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 8, -1)>
Public padding_29 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_30 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("reflection cube map", 16, 10)>
Public reflection_cube_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_31 as Byte()
#End Region

End Class
